bitkeeper revision 1.389 (3f28df19Z3T_sAYRfO2FBURRnxpp_w)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Thu, 31 Jul 2003 09:19:21 +0000 (09:19 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Thu, 31 Jul 2003 09:19:21 +0000 (09:19 +0000)
dev.c, perfc_defn.h, perfc.c, domain_page.c:
  Perfctr hacks and additions.

xen/common/domain_page.c
xen/common/perfc.c
xen/include/xeno/perfc_defn.h
xen/net/dev.c

index 927ba63ff13a9fcea3e2c21ac1c1c9c0669f867e..9257aa728a3dc18aff9331cd98e88147c9b3dbb0 100644 (file)
@@ -14,6 +14,7 @@
 #include <xeno/config.h>
 #include <xeno/sched.h>
 #include <xeno/mm.h>
+#include <xeno/perfc.h>
 #include <asm/domain_page.h>
 #include <asm/pgalloc.h>
 
@@ -30,6 +31,7 @@ static void flush_all_ready_maps(void)
     do { if ( (*cache & READY_FOR_TLB_FLUSH) ) *cache = 0; }
     while ( ((unsigned long)(++cache) & ~PAGE_MASK) != 0 );
 
+    perfc_incr(domain_page_tlb_flush);
     local_flush_tlb();
 }
 
index 09780a8a883f653947332d35d177ca682562bb9e..00f599e8819c9e2d71827b87c688991ea3d3cbeb 100644 (file)
@@ -34,29 +34,31 @@ void perfc_printall(u_char key, void *dev_id, struct pt_regs *regs)
 
     for ( i = 0; i < NR_PERFCTRS; i++ ) 
     {
+        printk("%20s  ",  perfc_info[i].name);
         switch ( perfc_info[i].type )
         {
         case TYPE_SINGLE:
-            printk("%10d  0x%08x  %s\n", 
-                   atomic_read(&counters[0]), atomic_read(&counters[0]), 
-                   perfc_info[i].name);
+            printk("%10d  0x%08x",
+                   atomic_read(&counters[0]), 
+                   atomic_read(&counters[0]));
             counters += 1;
             break;
         case TYPE_CPU:
             for ( j = 0; j < smp_num_cpus; j++ )
-                printk("%10d  0x%08x  %s[CPU %02d]\n",
-                       atomic_read(&counters[j]), atomic_read(&counters[j]), 
-                       perfc_info[i].name, j);
+                printk("CPU%02d[%10d 0x%08x]  ",
+                       j, atomic_read(&counters[j]), 
+                       atomic_read(&counters[j]));
             counters += NR_CPUS;
             break;
         case TYPE_ARRAY:
             for ( j = 0; j < perfc_info[i].nr_elements; j++ )
-                printk("%10d  0x%08x  %s[ARR %02d]\n",
-                       atomic_read(&counters[j]), atomic_read(&counters[j]), 
-                       perfc_info[i].name, j);
+                printk("ARR%02d[%10d 0x%08x]  ",
+                       j, atomic_read(&counters[j]), 
+                       atomic_read(&counters[j]));
             counters += j;
             break;
         }
+        printk("\n");
     }
 }
 
index a4dfc6b8e13c1662498917b1eda3ac317c67a7df..ad6eaaebf8d61ea87f45076c2fbfb34e884eed8b 100644 (file)
@@ -13,3 +13,6 @@ PERFCOUNTER( net_hypercalls, "network hypercalls" )
 PERFCOUNTER( net_rx_capacity_drop, "net rx capacity drop" )
 PERFCOUNTER( net_rx_delivered, "net rx delivered" )
 PERFCOUNTER( net_rx_tlbflush, "net rx tlb flushes" )
+PERFCOUNTER( net_tx_transmitted, "net tx transmitted" )
+
+PERFCOUNTER( domain_page_tlb_flush, "domain page tlb flushes" )
index cd5c80111aa1d3cd9e022e93e408439ff8ebe7d1..a53136deaa2156475423e648d141f4555ec9e44a 100644 (file)
@@ -800,6 +800,8 @@ static void net_tx_action(unsigned long unused)
             kfree_skb(skb);
             break;
         }
+
+        perfc_incr(net_tx_transmitted);
     }
     spin_unlock(&dev->xmit_lock);
 }